Personal computers and the Internet greatly enhanced communications and access to information from around the world. Typically, visual information is displayed upon a monitor screen and data can be added or manipulated via keystrokes upon an associated keyboard. Feedback is provided visually to the user by the monitor screen. Blind users cannot utilize the information appearing upon the monitor screen while visually impaired users may experience difficulty doing so. Accordingly, screen readers have been developed to assist blind and visually impaired users when they use a personal computer.
A screen reader is software which interprets the output of a computer as sent to a computer screen and converts it into alternative output. Typically, the alternative output is in the form of synthetic speech or Braille characters. Screen readers are particularly useful for a blind or low vision user. One such screen reader is JAWS® for Windows. When installed upon a personal computer, JAWS® provides access to the operating system, software applications and the Internet. JAWS® includes a speech synthesizer that cooperates with the sound card in the personal computer to read aloud information appearing upon the computer monitor screen or that is derived through communicating directly with the application or operating system. Thus, JAWS® provides access to a wide variety of information, education and job related applications. Additionally, JAWS® includes an interface that can provide output to refreshable Braille displays. Current JAWS® software supports all standard Windows® applications, including Microsoft Office XP®. JAWS® supports Internet Explorer with special features, such as, links lists, frame lists, forms mode and reading of HTML labels and graphic labels included on web pages. Upon entering an HTML document via an Internet link, JAWS® actuates a Virtual PC Cursor that mimics the functions of the PC cursor. The Virtual PC cursor causes JAWS® to signal the speech synthesizer to speak the number of frames in a document being read in Internet Explorer and the number of links in the frame currently being displayed. Also, JAWS® causes the speech synthesizer to read graphics labeled by alternate tags in HTML code.
Until now, screen readers have had a limited ability to select information to speak or Braille according to user's preference. One problem frequently encountered with formats involving large tabular arrays of data is that the data, as displayed on a computer screen, may include a large amount of irrelevant data that a user might desire to skip or ignore. For the typical sighted user this does not present a great problem. A typical sighted user, or “typical user”, can make a cursory scan of the window of data until he or she arrives at the desired information. In performing that scan, a great amount of data can be passed over quickly until the desired information is found. That desired information is then considered in greater detail while the scanned information is otherwise ignored and forgotten. For the typical user such a process is a trivial task. For a vision-impaired or blind user it is not nearly so simple. The blind or vision-impaired user will frequently utilize a screen reader to access the information that would otherwise be displayed on the screen. To output the information, the screen reader must serially pass the information to the display device. By “display” it is meant that the information is presented to the user in a manner in which the information can be meaningfully assessed by the user. Display is not limited to visual presentations of data, but may include other means of presenting such as auditory output and Braille devices. The user experiences the associated information in the order provided by the underlying application. A great amount of time can be spent waiting to arrive at the information sought by the user. For example, when an application gains focus, such as focus on a table or list of items, the screen reader could not be instructed to only read certain columns of the table while ignoring other columns. Likewise, the screen reader could not precede the reading of the column data by announcing the column's heading in a different voice. The screen reader would simply read straight across the row of data including all columns. This process results in a user encountering much irrelevant information, and other information which the user may not be interested in hearing, simply for the user to glean a few items of desired content. What is needed is a means of allowing the user of a screen reader to instruct the screen reader how to present tabular or other composite data in such a way that the user hears or is able to read the information in the order they wish to read it while skipping irrelevant components of the data. Thus, only desired data would be presented and it would be presented according to instructions by the user. What is further needed is a means of annotating the presented data with extra information to assist the user in the interpretation of that data.